home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 35
/
Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso
/
Aminet
/
game
/
shoot
/
ADescentSrc.lha
/
descent
/
main
/
vclip.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-03-22
|
3KB
|
88 lines
/*
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
*/
/*
* $Source: /usr/CVS/descent/main/vclip.c,v $
* $Revision: 1.2 $
* $Author: tfrieden $
* $Date: 1998/03/22 15:26:50 $
*
* Routines for vclips.
*
* $Log: vclip.c,v $
* Revision 1.2 1998/03/22 15:26:50 tfrieden
* removed lots of warning messages
*
* Revision 1.1.1.1 1998/03/03 15:12:31 nobody
* reimport after crash from backup
*
* Revision 1.1.1.1 1998/02/13 20:21:04 hfrieden
* Initial Import
*/
#pragma off (unreferenced)
static char rcsid[] = "$Id: vclip.c,v 1.2 1998/03/22 15:26:50 tfrieden Exp $";
#pragma on (unreferenced)
#include "error.h"
#include "inferno.h"
#include "vclip.h"
#include "weapon.h"
//----------------- Variables for video clips -------------------
int Num_vclips = 0;
vclip Vclip[VCLIP_MAXNUM]; // General purpose vclips.
//draw an object which renders as a vclip
void draw_vclip_object(object *obj,fix timeleft,int lighted, int vclip_num)
{
int nf,bitmapnum;
nf = Vclip[vclip_num].num_frames;
bitmapnum = (nf - f2i(fixdiv( (nf-1)*timeleft,Vclip[vclip_num].play_time))) - 1;
if (bitmapnum >= Vclip[vclip_num].num_frames)
bitmapnum=Vclip[vclip_num].num_frames-1;
if (bitmapnum >= 0 ) {
if (Vclip[vclip_num].flags & VF_ROD)
draw_object_tmap_rod(obj, Vclip[vclip_num].frames[bitmapnum],lighted);
else {
Assert(lighted==0); //blob cannot now be lighted
draw_object_blob(obj, Vclip[vclip_num].frames[bitmapnum] );
}
}
}
void draw_weapon_vclip(object *obj)
{
int vclip_num;
fix modtime;
//mprintf( 0, "[Drawing obj %d type %d fireball size %x]\n", obj-Objects, Weapon_info[obj->id].weapon_vclip, obj->size );
vclip_num = Weapon_info[obj->id].weapon_vclip;
modtime = obj->lifeleft;
while (modtime > Vclip[vclip_num].play_time)
modtime -= Vclip[vclip_num].play_time;
draw_vclip_object(obj, modtime, 0, vclip_num);
}